A domain name system (DNS) is a hierarchical, distributed database used by data communication networks for storing various information necessary for network operation. Most commonly, the DNS system translates node names meaningful to humans into numerical identifiers/addresses associated with network equipment for the purpose of locating and addressing these devices. In other words, the DNS system may be analogized as an electronic telephone book that uses domain names to find network addresses (e.g., IP addresses) and network addresses to find domain names.
Conventional DNS systems use a static tree structure closely tied to a network topology. For instance, domain names (e.g., www.example.com) are hierarchical and each part of a domain name is referred to as either the root, top level, second level, or as a sub-domain depending on location and/or function, for example. Moreover, the responsibility for managing a level or collection of levels (subdomains) is usually delegated to an autonomous administrative authority, thus creating a zone.
Topological zone information in a DNS server are stored in a static configuration file, which requires manual reconfiguration if the network topology changes. The topological zone information in DNS servers includes name-IP address mappings, for example. If a participant of the network wishes to locate the IP address of another participant, the DNS process starts with the DNS server lower on the DNS tree structure and continues to move up and down the DNS tree structure until that information or record is found. Therefore, the static DNS system is sensitive to changes as to the number and location of DNS participants in the network.
However, in ad-hoc networks, the conventional DNS systems are difficult to configure and maintain due to unpredictable and changing topology, and unpredictable node connectivity. For example, ad-hoc networks allow individual nodes and sub-networks (e.g., entire DNS domains) to dynamically join or disjoin the ad-hoc network. In presence of such disruptions, the ad-hoc network must continue operating and assure reachability for all end-systems and services that are connected.